import request from '@/config/axios'

// 课程课代表 VO
export interface AssistantVO {
  id: number // 主键
  courseId: number // 课程ID
  semesterId: number // 课程学期ID
  assistantId: number // 课代表ID
  remark: string // 备注
}

// 课程下的课代表 VO
export interface AssistantCourseRespVO {
  id: number // 主键
  username: string // 登录账号
  nickname: string // 姓名
  mobile: string // 手机号
  courseId: number // 课程ID
  semesterId: number // 课程学期ID
  assistantId: number // 课代表ID
  remark: string // 备注
  createTime: Date // 创建时间
}

// 课程课代表 API
export const AssistantApi = {
  // 查询课程课代表分页
  getAssistantPage: async (params: any) => {
    return await request.get({ url: `/course/assistant/page`, params })
  },

  // 查询课程课代表详情
  getAssistant: async (id: number) => {
    return await request.get({ url: `/course/assistant/get?id=` + id })
  },

  // 新增课程课代表
  createAssistant: async (data: AssistantVO) => {
    return await request.post({ url: `/course/assistant/create`, data })
  },

  // 修改课程课代表
  updateAssistant: async (data: AssistantVO) => {
    return await request.put({ url: `/course/assistant/update`, data })
  },

  // 删除课程课代表
  deleteAssistant: async (id: number) => {
    return await request.delete({ url: `/course/assistant/delete?id=` + id })
  },

  // 导出课程课代表 Excel
  exportAssistant: async (params) => {
    return await request.download({ url: `/course/assistant/export-excel`, params })
  },

  // 查询课程课代表分页
  getAssistantPageByCourse: async (params: any) => {
    return await request.get({ url: `/course/assistant/page-by-course`, params })
  },

  // 添加到课程
  addToCourse: async (data: Partial<AssistantVO>) => {
    return await request.post({ url: `/course/assistant/add`, data })
  }
}
